Data users continuously seek greater functionality and ease of use from the data processing and storage systems that they utilize. Increasingly, data users require instant, anytime-anywhere access to their data including business as well as personal data. The users are increasingly relying upon systems including personal computers, cellular phones, Personal Digital Assistants (PDAs), and other computing and communications tools to receive general email and other information such as stock quotes, airline flight status and weather updates that may be requested or “pulled” from a location or that may be “pushed” to the user based upon preset parameters.
Such computing and/or communications tools may be referred to as notification tools and the data received on a notification tool may be collectively referred to as a notification. A notification often contains the latest state information on some data in which a user has an interest. Notification tools include software programs that are executed on a general purpose computer connected to a communications network such as a buddy presence monitor in an instant messaging program running on a computer connected to the Internet. Similarly, notification tools include somewhat specialized hardware and software systems such as PDAs. Additionally, notification tools include dedicated communications hardware such as a pager.
The existing notification tools do not satisfy the needs of data users for several reasons. Many notification tools do not support interactive communications. For example, a user may use a one-way pager to receive messages and certain service providers provide notifications, such as the recent quotation of a stock price, but such an arrangement does not allow the user to take further action such as placing a trade. Accordingly, the user is not able to utilize the same notification tool to receive and respond to a notification.
Additionally with current notification tools users often have to use several different tools to receive the notification services that they require. Certain notification service providers or vendors such as America Online bundle a variety of notification services into a single tool. However, as soon as the user requires a service that is not available from that vendor, the user has to obtain another notification tool from the vendor that provides the required notification service.
For example, notification tools that provide a degree of interactivity with the notifications include the instant messenger (IM) tools known as AOL Instant Messenger (SM) and Microsoft MSN® Messenger Service. An IM tool may allow the user to keep track of the online presence state of the user's contacts including whether the contacts are online or busy. Additionally, an IM tool may allow a user to receive a presence notification whenever the online state of a contact changes. IM contacts are also known as buddies. In addition, IM tools may allow the user to respond to a received presence notification in order to start an instant messaging session with an online contact, to send an e-mail or voice-mail to an offline buddy, or to send a voicecall to an online buddy. The part of the IM tool or application that displays the presence update notifications for the user's contacts is known as a buddy list or contact list.
Many IM tools have several shortcomings. By definition, the contacts in the instant messaging tools may be human users, and the contact lists are designed to support only voice/text message communications between human users. However, many communications that a user may wish to perform involve interaction between human users and non-human objects. Accordingly, many contact lists have the disadvantages that they do not support non-human contacts and that they do not support interactions between human users and non-human objects.
Similarly the response logic of IM tools for a presence update notification may be statically bound to either initiating a voice/text instant messaging session with an online buddy or sending an e-mail/voice mail message to an offline or busy buddy. However, it is unlikely that the communications between human users and non-human objects would take the form of instant messaging or asynchronous exchanges of informal messages. Instead, it is likely that the communication between the human user and the non-human object would include the exchange of data such as formal commands, responses and acknowledgments. Accordingly, many contact lists have the disadvantage that they do not support other types of response logic.
Additionally IM tool contact lists function as a front-end to a single monolithic service provider. Accordingly, contact lists have the disadvantage that they do not support multiple service providers at the same time and do not support semantics suitable for instant messages to any notification service provider to which the contact list subscribes, including those with non-human contacts. Consequently, many contact lists also have several other disadvantages. For example, different notification service providers are likely to use different response protocols or languages of available commands and responses to provide their services. Therefore, the required contact list response logic for a given contact may be different from that for other contacts and is not supported by contact lists. Similarly, contact lists do not support varied response logic for the same contact and they do not support dynamic loading or modification of the response logic based upon factors such as the notification sent or other parameters.
Delivery of voice and text messages among various communications tools may be coordinated based upon preset delivery options as described in U.S. Pat. No. 5,742,905 to Pepe, et al. Furthermore, certain communications tools such as World Wide Web browsers include the integrated ability to download and display different types of documents and images. However, conventional notification tools do not allow users to subscribe different types of notification services from different vendors simultaneously and do not allow data users to interact with their data by enabling them to seamlessly respond to notifications.
These and other shortcomings greatly limit the usefulness of conventional notification tools and do not fulfill the need of data users for an anywhere-anytime tool for accessing and manipulating business and personal data.